package com.kaifamiao.N0729;

public class Test2 {

    public static void main(String[] args) {
        /*
        向上转型：子类向父类转换称为向上转型  <父类类型> <引用变量名> = new <子类类型>();
        父亲只能调用子类从父亲继承的方法或重写的方法
        父亲不能调用子类新增的方法
         */
        Pet pet = new Dog();
        pet.toHospital();

        /*
        向下转型：将父亲类型转换为子类类型称为向下转型，此时必须进行强制类型转换。将父类转换为子类，然后才能调用子类新的方法
        语法规则：<子类类型> <引用变量名> = （<子类类型>） <父亲类型的引用变量>;
        Pet pet = new Dog()
        pet.catchingFlyDisc();  无法调用子类新增的方法
        Dog dog = (Dog) pet
         */
        Dog dog = (Dog)pet;
        dog.catchingFlyDisc();

    }
}
